package visitor;

/**
 * 访问者模式
 * <br> 将数据操作和数据结构分离的设计模式,解决稳定的数据结构和易变的操作耦合问题
 * <br> 数据结构必须要稳定，否则不适合用访问者模式
 * <br> visitor需要定义对每个元素的访问操作，如果元素不稳定，那么将需要经常性的变动访问者的代码
 * <br> 元素需要定义一个accept方法，接收来自visitor的访问
 */
public class VisitorPatternDemo {
   public static void main(String[] args) {
 
      ComputerPart computer = new Computer();
      computer.accept(new ComputerPartDisplayVisitor());
   }
}